package com.juben.svr.domain.Enum;
// 声明一个名为UserRealnameState的枚举类型
public enum UserRealnameState {
    // 枚举的第一个常量，同时调用构造函数传入"1"作为value的值
    已认证("1"),
    // 枚举的第二个常量，同时调用构造函数传入"0"作为value的值
    未认证("0");
    // 声明一个私有字段value，用于存储每个枚举常量对应的字符串值

    private final String value;
    // 私有构造函数，只能被枚举常量在声明时调用
    // 注意：这里不能加访问修饰符（如public或private），因为Java自动为枚举的构造函数添加了private修饰符
    UserRealnameState(String value){
        this.value = value;// 将传入的字符串值赋给value字段
    }
    // 定义一个公开的getter方法，用于获取枚举常量对应的字符串值
    public String getValue(){
        return value;// 返回value字段的值
    }
    // 定义一个公开的静态方法fromValue，用于根据字符串值查找对应的枚举常量
    public static UserRealnameState fromValue(String value){
        System.out.println("value:"+value);
        // 遍历UserRealnameState枚举的所有常量
        for(UserRealnameState state : UserRealnameState.values()){
            System.out.println("state.getValue()):"+state.getValue());
            // 如果找到了匹配的字符串值，则返回对应的枚举常量
            if(state.getValue().equals(value)){
                System.out.println("state:"+state);
                return state;
            }
        }
        // 如果没有找到匹配的字符串值，则抛出IllegalArgumentException异常
        throw new IllegalArgumentException("No constant with value " + value + " found in enum UserStatus");
    }


}
